/**********************************************************************/
/*   ____  ____                                                       */
/*  /   /\/   /                                                       */
/* /___/  \  /                                                        */
/* \   \   \/                                                       */
/*  \   \        Copyright (c) 2003-2009 Xilinx, Inc.                */
/*  /   /          All Right Reserved.                                 */
/* /---/   /\                                                         */
/* \   \  /  \                                                      */
/*  \___\/\___\                                                    */
/***********************************************************************/

/* This file is designed for use with ISim build 0x8ddf5b5d */

#define XSI_HIDE_SYMBOL_SPEC true
#include "xsi.h"
#include <memory.h>
#ifdef __GNUC__
#include <stdlib.h>
#else
#include <malloc.h>
#define alloca _alloca
#endif
static const char *ng0 = "/host/Garage/Garage/vhdl/a_gal/r_gal2.vhd";
extern char *IEEE_P_2592010699;

unsigned char ieee_p_2592010699_sub_3488546069778340532_503743352(char *, unsigned char , unsigned char );
unsigned char ieee_p_2592010699_sub_3488768496604610246_503743352(char *, unsigned char , unsigned char );
unsigned char ieee_p_2592010699_sub_374109322130769762_503743352(char *, unsigned char );


static void work_a_3297446987_3212880686_p_0(char *t0)
{
    char *t1;
    char *t2;
    unsigned char t3;
    char *t4;
    unsigned char t5;
    unsigned char t6;
    char *t7;
    unsigned char t8;
    char *t9;
    unsigned char t10;
    unsigned char t11;
    unsigned char t12;
    char *t13;
    unsigned char t14;
    unsigned char t15;
    char *t16;
    char *t17;
    char *t18;
    char *t19;
    unsigned char t20;
    unsigned char t21;
    unsigned char t22;
    unsigned char t23;
    unsigned char t24;
    unsigned char t25;
    unsigned char t26;
    unsigned char t27;
    unsigned char t28;
    unsigned char t29;
    unsigned char t30;
    unsigned char t31;
    unsigned char t32;
    char *t33;
    char *t34;
    char *t35;
    char *t36;
    unsigned char t37;
    unsigned char t38;
    unsigned char t39;
    unsigned char t40;
    unsigned char t41;
    unsigned char t42;
    unsigned char t43;
    char *t44;
    char *t45;
    unsigned char t46;
    char *t47;
    int t48;
    unsigned int t49;
    unsigned int t50;
    unsigned int t51;

LAB0:    xsi_set_current_line(76, ng0);
    t1 = (t0 + 1672U);
    t2 = *((char **)t1);
    t3 = *((unsigned char *)t2);
    t1 = (t0 + 2152U);
    t4 = *((char **)t1);
    t5 = *((unsigned char *)t4);
    t6 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t3, t5);
    t1 = (t0 + 1672U);
    t7 = *((char **)t1);
    t8 = *((unsigned char *)t7);
    t1 = (t0 + 5512U);
    t9 = *((char **)t1);
    t10 = *((unsigned char *)t9);
    t11 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t8, t10);
    t12 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t6, t11);
    t1 = (t0 + 4392U);
    t13 = *((char **)t1);
    t14 = *((unsigned char *)t13);
    t15 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t12, t14);
    t1 = (t0 + 7064);
    t16 = (t1 + 56U);
    t17 = *((char **)t16);
    t18 = (t17 + 56U);
    t19 = *((char **)t18);
    *((unsigned char *)t19) = t15;
    xsi_driver_first_trans_fast(t1);
    xsi_set_current_line(80, ng0);
    t1 = (t0 + 4072U);
    t2 = *((char **)t1);
    t3 = *((unsigned char *)t2);
    t1 = (t0 + 7128);
    t4 = (t1 + 56U);
    t7 = *((char **)t4);
    t9 = (t7 + 56U);
    t13 = *((char **)t9);
    *((unsigned char *)t13) = t3;
    xsi_driver_first_trans_fast_port(t1);
    xsi_set_current_line(82, ng0);
    t1 = (t0 + 4552U);
    t2 = *((char **)t1);
    t3 = *((unsigned char *)t2);
    t1 = (t0 + 1992U);
    t4 = *((char **)t1);
    t5 = *((unsigned char *)t4);
    t6 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t5);
    t8 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t3, t6);
    t1 = (t0 + 7192);
    t7 = (t1 + 56U);
    t9 = *((char **)t7);
    t13 = (t9 + 56U);
    t16 = *((char **)t13);
    *((unsigned char *)t16) = t8;
    xsi_driver_first_trans_fast_port(t1);
    xsi_set_current_line(83, ng0);
    t1 = (t0 + 4712U);
    t2 = *((char **)t1);
    t3 = *((unsigned char *)t2);
    t1 = (t0 + 1992U);
    t4 = *((char **)t1);
    t5 = *((unsigned char *)t4);
    t6 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t5);
    t8 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t3, t6);
    t1 = (t0 + 7256);
    t7 = (t1 + 56U);
    t9 = *((char **)t7);
    t13 = (t9 + 56U);
    t16 = *((char **)t13);
    *((unsigned char *)t16) = t8;
    xsi_driver_first_trans_fast_port(t1);
    xsi_set_current_line(85, ng0);
    t1 = (t0 + 1512U);
    t2 = *((char **)t1);
    t3 = *((unsigned char *)t2);
    t1 = (t0 + 1352U);
    t4 = *((char **)t1);
    t5 = *((unsigned char *)t4);
    t6 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t5);
    t8 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t3, t6);
    t1 = (t0 + 1992U);
    t7 = *((char **)t1);
    t10 = *((unsigned char *)t7);
    t11 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t8, t10);
    t1 = (t0 + 4392U);
    t9 = *((char **)t1);
    t12 = *((unsigned char *)t9);
    t14 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t12);
    t1 = (t0 + 5512U);
    t13 = *((char **)t1);
    t15 = *((unsigned char *)t13);
    t20 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t14, t15);
    t21 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t11, t20);
    t1 = (t0 + 4392U);
    t16 = *((char **)t1);
    t22 = *((unsigned char *)t16);
    t23 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t22);
    t1 = (t0 + 1672U);
    t17 = *((char **)t1);
    t24 = *((unsigned char *)t17);
    t25 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t24);
    t26 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t23, t25);
    t27 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t21, t26);
    t1 = (t0 + 4392U);
    t18 = *((char **)t1);
    t28 = *((unsigned char *)t18);
    t29 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t28);
    t1 = (t0 + 2152U);
    t19 = *((char **)t1);
    t30 = *((unsigned char *)t19);
    t31 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t29, t30);
    t32 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t27, t31);
    t1 = (t0 + 7320);
    t33 = (t1 + 56U);
    t34 = *((char **)t33);
    t35 = (t34 + 56U);
    t36 = *((char **)t35);
    *((unsigned char *)t36) = t32;
    xsi_driver_first_trans_fast_port(t1);
    xsi_set_current_line(92, ng0);
    t1 = (t0 + 1512U);
    t2 = *((char **)t1);
    t3 = *((unsigned char *)t2);
    t1 = (t0 + 1352U);
    t4 = *((char **)t1);
    t5 = *((unsigned char *)t4);
    t6 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t5);
    t8 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t3, t6);
    t1 = (t0 + 1992U);
    t7 = *((char **)t1);
    t10 = *((unsigned char *)t7);
    t11 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t10);
    t1 = (t0 + 5512U);
    t9 = *((char **)t1);
    t12 = *((unsigned char *)t9);
    t14 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t12);
    t15 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t11, t14);
    t20 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t8, t15);
    t1 = (t0 + 1992U);
    t13 = *((char **)t1);
    t21 = *((unsigned char *)t13);
    t22 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t21);
    t1 = (t0 + 4392U);
    t16 = *((char **)t1);
    t23 = *((unsigned char *)t16);
    t24 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t22, t23);
    t25 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t20, t24);
    t1 = (t0 + 4392U);
    t17 = *((char **)t1);
    t26 = *((unsigned char *)t17);
    t27 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t26);
    t1 = (t0 + 1672U);
    t18 = *((char **)t1);
    t28 = *((unsigned char *)t18);
    t29 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t28);
    t30 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t27, t29);
    t31 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t25, t30);
    t1 = (t0 + 4392U);
    t19 = *((char **)t1);
    t32 = *((unsigned char *)t19);
    t37 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t32);
    t1 = (t0 + 2152U);
    t33 = *((char **)t1);
    t38 = *((unsigned char *)t33);
    t39 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t37, t38);
    t1 = (t0 + 5512U);
    t34 = *((char **)t1);
    t40 = *((unsigned char *)t34);
    t41 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t40);
    t42 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t39, t41);
    t43 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t31, t42);
    t1 = (t0 + 7384);
    t35 = (t1 + 56U);
    t36 = *((char **)t35);
    t44 = (t36 + 56U);
    t45 = *((char **)t44);
    *((unsigned char *)t45) = t43;
    xsi_driver_first_trans_fast_port(t1);
    xsi_set_current_line(99, ng0);
    t1 = (t0 + 1192U);
    t2 = *((char **)t1);
    t3 = *((unsigned char *)t2);
    t1 = (t0 + 1352U);
    t4 = *((char **)t1);
    t5 = *((unsigned char *)t4);
    t6 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t5);
    t8 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t3, t6);
    t1 = (t0 + 1992U);
    t7 = *((char **)t1);
    t10 = *((unsigned char *)t7);
    t11 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t10);
    t12 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t8, t11);
    t1 = (t0 + 4392U);
    t9 = *((char **)t1);
    t14 = *((unsigned char *)t9);
    t15 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t14);
    t1 = (t0 + 5512U);
    t13 = *((char **)t1);
    t20 = *((unsigned char *)t13);
    t21 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t15, t20);
    t1 = (t0 + 4552U);
    t16 = *((char **)t1);
    t22 = *((unsigned char *)t16);
    t23 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t21, t22);
    t1 = (t0 + 4712U);
    t17 = *((char **)t1);
    t24 = *((unsigned char *)t17);
    t25 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t23, t24);
    t26 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t12, t25);
    t1 = (t0 + 4392U);
    t18 = *((char **)t1);
    t27 = *((unsigned char *)t18);
    t28 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t27);
    t1 = (t0 + 1672U);
    t19 = *((char **)t1);
    t29 = *((unsigned char *)t19);
    t30 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t29);
    t31 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t28, t30);
    t32 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t26, t31);
    t1 = (t0 + 4392U);
    t33 = *((char **)t1);
    t37 = *((unsigned char *)t33);
    t38 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t37);
    t1 = (t0 + 2152U);
    t34 = *((char **)t1);
    t39 = *((unsigned char *)t34);
    t40 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t38, t39);
    t1 = (t0 + 5512U);
    t35 = *((char **)t1);
    t41 = *((unsigned char *)t35);
    t42 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t41);
    t43 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t40, t42);
    t46 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t32, t43);
    t1 = (t0 + 7448);
    t36 = (t1 + 56U);
    t44 = *((char **)t36);
    t45 = (t44 + 56U);
    t47 = *((char **)t45);
    *((unsigned char *)t47) = t46;
    xsi_driver_first_trans_fast_port(t1);
    xsi_set_current_line(106, ng0);
    t1 = (t0 + 4552U);
    t2 = *((char **)t1);
    t3 = *((unsigned char *)t2);
    t1 = (t0 + 7512);
    t4 = (t1 + 56U);
    t7 = *((char **)t4);
    t9 = (t7 + 56U);
    t13 = *((char **)t9);
    *((unsigned char *)t13) = t3;
    xsi_driver_first_trans_fast_port(t1);
    xsi_set_current_line(107, ng0);
    t1 = (t0 + 4712U);
    t2 = *((char **)t1);
    t3 = *((unsigned char *)t2);
    t1 = (t0 + 7576);
    t4 = (t1 + 56U);
    t7 = *((char **)t4);
    t9 = (t7 + 56U);
    t13 = *((char **)t9);
    *((unsigned char *)t13) = t3;
    xsi_driver_first_trans_fast_port(t1);
    xsi_set_current_line(108, ng0);
    t1 = (t0 + 5512U);
    t2 = *((char **)t1);
    t3 = *((unsigned char *)t2);
    t1 = (t0 + 7640);
    t4 = (t1 + 56U);
    t7 = *((char **)t4);
    t9 = (t7 + 56U);
    t13 = *((char **)t9);
    *((unsigned char *)t13) = t3;
    xsi_driver_first_trans_fast_port(t1);
    xsi_set_current_line(109, ng0);
    t1 = (t0 + 4392U);
    t2 = *((char **)t1);
    t3 = *((unsigned char *)t2);
    t1 = (t0 + 7704);
    t4 = (t1 + 56U);
    t7 = *((char **)t4);
    t9 = (t7 + 56U);
    t13 = *((char **)t9);
    *((unsigned char *)t13) = t3;
    xsi_driver_first_trans_fast_port(t1);
    xsi_set_current_line(119, ng0);
    t1 = (t0 + 3752U);
    t2 = *((char **)t1);
    t5 = *((unsigned char *)t2);
    t6 = (t5 == (unsigned char)3);
    if (t6 == 1)
        goto LAB5;

LAB6:    t3 = (unsigned char)0;

LAB7:    if (t3 != 0)
        goto LAB2;

LAB4:
LAB3:    t1 = (t0 + 6984);
    *((int *)t1) = 1;

LAB1:    return;
LAB2:    xsi_set_current_line(120, ng0);
    t4 = (t0 + 1032U);
    t7 = *((char **)t4);
    t48 = (0 - 7);
    t49 = (t48 * -1);
    t50 = (1U * t49);
    t51 = (0 + t50);
    t4 = (t7 + t51);
    t10 = *((unsigned char *)t4);
    t9 = (t0 + 7768);
    t13 = (t9 + 56U);
    t16 = *((char **)t13);
    t17 = (t16 + 56U);
    t18 = *((char **)t17);
    *((unsigned char *)t18) = t10;
    xsi_driver_first_trans_fast(t9);
    xsi_set_current_line(121, ng0);
    t1 = (t0 + 1032U);
    t2 = *((char **)t1);
    t48 = (1 - 7);
    t49 = (t48 * -1);
    t50 = (1U * t49);
    t51 = (0 + t50);
    t1 = (t2 + t51);
    t3 = *((unsigned char *)t1);
    t4 = (t0 + 7832);
    t7 = (t4 + 56U);
    t9 = *((char **)t7);
    t13 = (t9 + 56U);
    t16 = *((char **)t13);
    *((unsigned char *)t16) = t3;
    xsi_driver_first_trans_fast(t4);
    xsi_set_current_line(122, ng0);
    t1 = (t0 + 1032U);
    t2 = *((char **)t1);
    t48 = (6 - 7);
    t49 = (t48 * -1);
    t50 = (1U * t49);
    t51 = (0 + t50);
    t1 = (t2 + t51);
    t3 = *((unsigned char *)t1);
    t4 = (t0 + 5512U);
    t7 = *((char **)t4);
    t5 = *((unsigned char *)t7);
    t6 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t3, t5);
    t4 = (t0 + 7896);
    t9 = (t4 + 56U);
    t13 = *((char **)t9);
    t16 = (t13 + 56U);
    t17 = *((char **)t16);
    *((unsigned char *)t17) = t6;
    xsi_driver_first_trans_fast(t4);
    xsi_set_current_line(123, ng0);
    t1 = (t0 + 1032U);
    t2 = *((char **)t1);
    t48 = (7 - 7);
    t49 = (t48 * -1);
    t50 = (1U * t49);
    t51 = (0 + t50);
    t1 = (t2 + t51);
    t3 = *((unsigned char *)t1);
    t4 = (t0 + 7960);
    t7 = (t4 + 56U);
    t9 = *((char **)t7);
    t13 = (t9 + 56U);
    t16 = *((char **)t13);
    *((unsigned char *)t16) = t3;
    xsi_driver_first_trans_fast(t4);
    goto LAB3;

LAB5:    t1 = (t0 + 3712U);
    t8 = xsi_signal_has_event(t1);
    t3 = t8;
    goto LAB7;

}


extern void work_a_3297446987_3212880686_init()
{
	static char *pe[] = {(void *)work_a_3297446987_3212880686_p_0};
	xsi_register_didat("work_a_3297446987_3212880686", "isim/r_gal2_isim_beh.exe.sim/work/a_3297446987_3212880686.didat");
	xsi_register_executes(pe);
}
